#include "queue.h"

// 把main监听获取到的
// 和客户端连接的socket对象的文件描述符
// 放入队列
int en_queue(queue_t *p_queue, int net_fd){

    // 创建结点
    node_t *p_ndoe = (node_t *)calloc(1, sizeof(node_t));
    p_ndoe->net_fd = net_fd;

    // 加入队列
    if(p_queue->size == 0){
        // 新结点既是队头又是队尾
        p_queue->head = p_ndoe;
        p_queue->end = p_ndoe;
    }else{
        // 非空
        p_queue->end->p_next = p_ndoe;
        p_queue->end = p_ndoe;
    }
    // size++
    p_queue->size ++;

    return 0;
}

// 出队列
int de_queue(queue_t *p_queue){

    if(p_queue->size == 0){
        return -1;
    }

    // 有内容
    node_t *p = p_queue->head;

    if(p_queue->size == 1){
        p_queue->head = NULL;
        p_queue->end = NULL;
    }else{
        p_queue->head = p_queue->head->p_next ;
    }

    // size
    p_queue->size --;

    free(p);
    return 0;
}
